home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / C++ / Libraries / Two Way Notes / two_way_test.cp < prev    next >
Encoding:
Text File  |  1994-04-24  |  3.7 KB  |  111 lines  |  [TEXT/KAHL]

  1. /********************************************************/
  2. /*                                                      */
  3. /*                 two_way_test.cp                      */
  4. /*                 A test Routine for: Two_Way.cp       */
  5. /*                 Copyright 4/24/94 Hasan Edain        */
  6. /*                 All Reights Reserved Worldwide       */
  7. /*                                                      */
  8. /********************************************************/
  9.  
  10. //    Please feel free to modify and use this code for any purpose, as long as you
  11. // send me
  12. // a) source of the modified code.
  13. // b) licenced version of product the code is used in.
  14. // c) notes as to how the code could be made more usefull if you tried to use it, but
  15. // ended up not using it for any reason.
  16. // Hasan Edain
  17. // HasanEdain@AOL.com
  18. // box 667 Langley Wa 98260
  19. // fax: 206-579-6456
  20.  
  21. #include <stdlib.h>
  22. #include <string.h>
  23. #include <stdio.h>
  24.  
  25. #include "two_way.h"
  26.  
  27. #include "monster.h"
  28.  
  29. void main(void)
  30. {
  31. list    *myList, *sortedList;
  32. void    *myData;
  33. monster    *myMonster, *testData;
  34. short    myDataKey, testDataKey;
  35. unsigned long myDataLength;
  36. short    error, i;
  37.  
  38. myMonster = (monster *)malloc(sizeof(monster));
  39. testData = (monster *)malloc(sizeof(monster));
  40. strcpy( myMonster->name, "One" );
  41. myMonster->st = 10; myMonster->in = 10; myMonster->dx = 10; myDataKey = 1;
  42. myList = myList->initList((void *)myMonster,sizeof(monster), myDataKey);
  43.  
  44. strcpy( myMonster->name, "Two" );
  45. myMonster->st = 20; myMonster->in = 10; myMonster->dx = 10; myDataKey = 2;
  46. error = myList->addLastNode((void *)myMonster, sizeof(monster), myDataKey);
  47.  
  48. strcpy( myMonster->name, "Four" );
  49. myMonster->st = 5; myMonster->in = 12; myMonster->dx = 2; myDataKey = 4;
  50. error = myList->addLastNode((void *)myMonster, sizeof(monster), myDataKey);
  51.  
  52. strcpy( myMonster->name, "Five" );
  53. myMonster->st = 50; myMonster->in = 120; myMonster->dx = 20; myDataKey = 5;
  54. error = myList->addLastNode((void *)myMonster, sizeof(monster), myDataKey);
  55.  
  56. strcpy( myMonster->name, "Three" );
  57. myMonster->st = 50; myMonster->in = 120; myMonster->dx = 20; myDataKey = 3;
  58. error = myList->addLastNode((void *)myMonster, sizeof(monster), myDataKey);
  59.  
  60. sortedList = myList->insSortList();
  61.  
  62. if(error)
  63.     {
  64.     myList->moveCurrNodeToStart();
  65.     printf("----------From Start To End---------------\n");
  66.     for(i=1; i<=myList->getListLength();i++)
  67.         {
  68.         testData = (monster *)(myList->extractCurrNode(&testDataKey, &myDataLength));
  69.         printMonster(testData);
  70.         myList->moveCurrNodeForward();
  71.         }
  72.     printf("-------------------------\n");
  73.     
  74.     myList->moveCurrNodeToEnd();
  75.     printf("----------From End To Start---------------\n");
  76.     for(i=myList->getListLength(); i>=1;i--)
  77.         {
  78.         testData = (monster *)(myList->extractCurrNode(&testDataKey, &myDataLength));
  79.         printMonster(testData);
  80.         myList->moveCurrNodeBackward();
  81.         }
  82.     printf("-------------------------\n");
  83.     printf("----------From Start To End, Sorted List---------------\n");
  84.     sortedList->moveCurrNodeToStart();
  85.     for(i=1; i<=sortedList->getListLength();i++)
  86.         {
  87.         testData = (monster *)(sortedList->extractCurrNode(&testDataKey, &myDataLength));
  88.         printMonster(testData);
  89.         sortedList->moveCurrNodeForward();
  90.         }
  91.     printf("-------------------------\n");
  92.     }
  93.  
  94. testData = (monster *)(myList->extractNthNode(&testDataKey, &myDataLength,3));
  95. printMonster(testData);
  96.  
  97. myList->deleteFirstNode();
  98. testData = (monster *)(myList->extractFirstNode(&testDataKey, &myDataLength));
  99. printMonster(testData);
  100.  
  101. myList->deleteFirstNode();
  102. testData = (monster *)(myList->extractFirstNode(&testDataKey, &myDataLength));
  103. printMonster(testData);
  104.  
  105. myList->deleteFirstNode();
  106. testData = (monster *)(myList->extractFirstNode(&testDataKey, &myDataLength));
  107. printMonster(testData);
  108.  
  109. free(myMonster);
  110. myList->deleteList();
  111. }